package com.loong.loong.hik.api.entity.resource;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 【消防传感器】FireChannelDTO属性说明
 * @author jinyiang
 * @date 2023/3/22 10:03
 */
@Data
@TableName("hik_resource_fire_channel")
public class HikResourceFireChannel {

	private static final long serialVersionUID = 1L;

	/**
	 * 通用资源编码
	 */
	@NotBlank(message = "通用资源编码不能为空")
	@TableId(value = "index_code", type = IdType.AUTO)
	private String indexCode;

	/**
	 * 资源类型
	 */
	@NotBlank(message = "资源类型不能为空")
	@TableField("resource_type")
	private String resourceType;

	/**
	 * 所属区域
	 */
	@NotBlank(message = "所属区域不能为空")
	@TableField("region_index_code")
	private String regionIndexCode;

	/**
	 * 传感器名称
	 */
	@NotBlank(message = "传感器名称不能为空")
	@TableField("name")
	private String name;

	/**
	 * 传感器状态
	 */
	@NotNull(message = "传感器状态不能为空")
	@TableField("firepro_channel_status")
	private Integer fireproChannelStatus;

	/**
	 * 传感器大类型
	 */
	@NotNull(message = "传感器大类型不能为空")
	@TableField("firepro_channel_type")
	private Integer fireproChannelType;

	/**
	 * 传感器小类型
	 */
	@NotNull(message = "传感器小类型不能为空")
	@TableField("firepro_channel_sub_type")
	private Integer fireproChannelSubType;

	/**
	 * 传感器厂商
	 */
	@TableField("firepro_channel_firm")
	private Integer fireproChannelFirm;

	/**
	 * 传感器所属系统
	 */
	@TableField("firepro_channel_own_system_id")
	private Integer fireproChannelOwnSystemId;

	/**
	 * 传感器所在位置
	 */
	@TableField("install_location")
	private String installLocation;

	/**
	 * 传感器添加时间
	 */
	@TableField("create_time")
	private String createTime;

	/**
	 * 传感器修改时间
	 */
	@TableField("update_time")
	private String updateTime;

	/**
	 * 所属设备资编码
	 */
	@NotBlank(message = "所属设备资编码不能为空")
	@TableField("parent_index_code")
	private String parentIndexCode;

	/**
	 * 最大阈值
	 */
	@TableField("firepro_channel_max_value")
	private String fireproChannelMaxValue;

	/**
	 * 最小阈值
	 */
	@TableField("firepro_channel_min_value")
	private String fireproChannelMinValue;

	/**
	 * 传感器地址码
	 */
	@NotBlank(message = "传感器地址码不能为空")
	@TableField("firepro_channel_address_code")
	private String fireproChannelAddressCode;

	/**
	 * 扩展信息
	 */
	@TableField(value = "extend_json")
	@Size(max = 1024, message = "扩展信息长度不能超过1024")
	private String extendJson;
}
